/*
 * Copyright (c) 2013 Opcode Systems, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the copyright holder nor the names of any contributors
 *    may be used to endorse or promote products derived from this
 *    software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package com.opcode.nebulamobil.information.dataforms.costadataforms;

/**
 * STS sisteminde bir personele ilişkin verileri tanıyacak olan form elemanıdır.
 * @author 	Erhan ERDOGAN
 * @version	1.0.0
 * @since	com.opcode.sts 1.0.0
 */
public class PersonalDataForm extends JSON {

	/**
	 * @since	com.opcode.sts 1.0.0
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * Personelin adını tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private String personalName;
	
	/**
	 * Personelin soyadını tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private String personalSurname;
	
	/**
	 * Personelin kimlik numarasını tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private long personalID;
	
	/**
	 * Personelin görselini tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private byte[] personalImage;
	
	/**
	 * Personelin iş pozisyonunu tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private String title;
	
	/**
	 * Personelin iş pozisyon kimlik değerini tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private long titleID;
	
	/**
	 * Personelin sorumlu olduğu kat bilgisini tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private String responsibleFloor;
	
	/**
	 * Personelin sorumlu olduğu kata ilişkin kimlik numarasını tutacak olan değişkendir.
	 * @since	com.opcode.sts 1.0.0
	 */
	private long responsibleFloorID;
	
	/**
	 * Personelin ismini ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	personalName Ayarlanacak olan personel adıdır.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setPersonalName(String personalName) {
		this.personalName=personalName;
	}
	
	/**
	 * Personel adını elde etmek için kullanılacak olan uygulamadır.
	 * @return	Personelin adı geri dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public String getPersonalName() {
		return this.personalName;
	}
	
	/**
	 * Personelin soyadını ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	personalSurname Ayarlanacak olan personel soyadıdır.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setPersonalSurName(String personalSurname) {
		this.personalSurname=personalSurname;
	}
	
	/**
	 * Personelin soyadını elde etmek için kullanılacak olan uygulamadır.
	 * @return	Personelin soyadı dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public String getPersonelSurName() {
		return this.personalSurname;
	}
	
	/**
	 * Personelin uygulama tarafından atanmış olan kimlik numarasını elde etmek için kullanılacak olan uygulamadır.
	 * @param 	personalID Personele ayarlanacak olan kimlik numarasıdır.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setPersonalID(long personalID) {
		this.personalID=personalID;
	}
	
	/**
	 * Personelin sistem tarafından atanmış olan kimlik numarasını elde etmek için kullanılacak olan uygulamadır.
	 * @return	Geriye personelin long tipinde personel kimlik numarası dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public long getPersonelID() {
		return this.personalID;
	}
	
	/**
	 * Personelin görseli içeren bir byte dizisi ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	personalImage Ayarlanacak olan personel resmini içeren byte dizisidir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setPersonelImage(byte[] personalImage) {
		this.personalImage=personalImage;
	}
	
	/**
	 * Personelin görseline ilişkin diziyi elde etmek için kullanılacak olan uygulamadır.
	 * @return	Geriye personele ilişkin görseli içeren bir byte dizisi dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public byte[] getPersonelImage() {
		return this.personalImage;
	}
	
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public long getTitleID() {
		return titleID;
	}

	public void setTitleID(long titleID) {
		this.titleID = titleID;
	}

	/**
	 * Personelin sorumlu olduğu kat bilgisinin girilmesi için kullanılacak olan uygulamadır.
	 * @param 	floorName Ayarlanacak olan kat ismidir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setResponsibleFloor(String floorName) {
		this.responsibleFloor=floorName;
	}
	
	/**
	 * Personelin sorumlu olduğu kat bilgisinin elde edilmesi için kullanılacak olan uygulamadır.
	 * @return	Geriye personelin sorumlu olduğu katın adı dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public String getResponsibleFloor() {
		return this.responsibleFloor;
	}
	
	/**
	 * Personelin sorumlu olduğu katın kimlik numarasını ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	floorID Ayarlanacak olan personel kimlik numarasıdır.
	 * @since	com.opcode.sts 1.0.0
	 */
	public void setResponsibleFloorID(long floorID) {
		this.responsibleFloorID=floorID;
	}
	
	/**
	 * Personelin sorumlu olduğu kat kimlik numarasını elde etmek için kullanılacak olan uygulamadır.
	 * @return	Sorumlu olduğu kat kimlik numarası dönecektir.
	 * @since	com.opcode.sts 1.0.0
	 */
	public long getReponsibleFloorID() {
		return this.responsibleFloorID;
	}
	
}
